package com.xbongbong.pro.domain.entity;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.util.DateUtil;
import com.xbongbong.pro.enums.datacenter.datawarning.enums.ActionTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @ClassName DataWarningEntity
 * @Description 数据预警
 * @Author mengna.Deng
 * @Date 2021/4/15 15:45
 * @Version 1.0
 */
@Getter
@Setter
@ToString
public class DataWarningEntity implements Serializable{
    /**
     * 主键
     */
    private Long id;
    /**
     * 公司id
     */
    private String corpid;
    /**
     * 启用标识，默认0未启用，1启用
     */
    private Integer enable;
    /**
     * 名称
     */
    private String name;
    /**
     * 数据预警关联的图表id
     */
    private Long chartId;
    /**
     * 触发条件
     */
    private JSONArray triggerCondition;
    /**
     * 采集时间范围（每天）
     */
    private JSONObject samplingRange;
    /**
     * 执行动作,1消息，2短信
     * @see ActionTypeEnum
     */
    private JSONArray action;
    /**
     * 执行策略
     */
    private JSONObject strategy;
    /**
     * 执行人
     */
    private JSONArray executor;
    /**
     * paas短信执行人
     */
    private JSONArray smsExecutor;
    /**
     * 执行详情
     */
    private String memo;
    /**
     * 创建时间
     */
    private Long addTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 预警颜色
     */
    private String color;
    /**
     * 自定义颜色
     */
    private JSONArray customColors;
    /**
     * 删除标记
     */
    private Integer del;
    /**
     * 历史预警最多展示数目
     */
    private Integer historyMaxNum;
    /**
     * 触发次数
     */
    private Integer triggerNum;
    /**
     * 上一次触发时间
     */
    private Long lastTriggerTime;

    public DataWarningEntity() {
        long now = DateUtil.getInt();
        this.updateTime = now;
        this.addTime = now;
        this.del = 0;
    }

}
